package jmine.tec.utils.reflection.fast;

/**
 * Representa um metodo com apenas um argumento.
 * 
 * @author takeshi
 */
public interface FastMethodSingleArgument extends FastMethod {

    /**
     * Invoca um metodo com apenas um argumento. A utilizacao deste metodo evita a criacao de um array de objects.
     * 
     * @param target o alvo da invocacao. Pode ser null se o metodo for estatico.
     * @param arg o argumento unico
     * @return Object o retorno do metodo
     * @throws Exception se uma excecao for lancada
     */
    Object invokeSingleArgument(Object target, Object arg) throws Exception;

}
